1. Field of the Invention
This invention relates to the field of computer systems.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Java, JavaBeans, HotJava and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
2. Background Art
Computer users desire high performance computing experiences at increasingly lower cost. Current attempts to satisfy this demand have resulted in computing systems of marginally lower cost but significantly reduced performance. Computer users are being offered the choice of paying a little less money to get a lot less computer. The problem to be solved is how to give higher or equal performance computing experiences at significantly lower cost. This problem can be better understood by reviewing the evolution of computing systems.
The paradigms by which computer systems have been configured have changed over time. In earlier times, a computer was a room sized device that was accessed by a user in the immediate vicinity of the computer. Such computers were known as “mainframe” computers. Eventually, it was desired to have larger numbers of users access the computing power of the mainframe. This led to the use of a plurality of so called “dumb terminals” communicating with the mainframe through a network. The mainframe was the central station that provided computational power and data storage. The dumb terminal was a display device for data provided by the mainframe, and also provided a means to communicate some data to the mainframe. The terminals were referred to as dumb terminals because they did not possess local processing or data storage functionality. The terminal, if unplugged from the mainframe network, could not provide any computing experience. A disadvantage of the mainframe/terminal architecture was the high cost associated with the mainframe computer itself. Only large concerns with large numbers of users could justify the purchase and use of a mainframe/terminal system.
The introduction of the personal computer, also known as the desktop computer, provided a solution to the disadvantages of mainframe systems. A desktop computer is a self contained computing system where all applications, data, and computing power are resident on the desktop computer system itself. Such personal computers and have spurred the use of computers in homes and offices. The cost of a desktop system was relatively low compared to a mainframe environment. A single user could afford to purchase a desktop system. However, several disadvantages soon became apparent in the use of desktop computers. One disadvantage was the isolation of the desktop computer. No longer being part of a centralized and consistent network, users found it difficult to share data with other users. Because each desktop computer had its own software, there were problems with incompatible versions of software applications on different computers. Further, with multiple operating systems, some data could not be shared at all, or only after it had been specially converted to some compatible form.
Some solutions to these problems were provided with the rise of client/server systems. Desktop computers became linked together in company networks. Common data and in some cases, applications, were stored on a central computing system called a server. The server maintained common data and provided copies of it to clients (desktop computers) when requested. Client server systems also had disadvantages. One was hardware obsolescence. Desktop computers are microprocessor driven, and as faster and more powerful microprocessors become available, upgrades of existing desktop systems, or purchase of new desktop systems, is required. In many offices, there are personal desktop computers distributed throughout, sometimes numbering in the thousands and tens of thousands. Some hardware components, such as system RAM, can be upgraded without replacing the entire desktop system. However, depending on the age and type of the desktop system, there is a limit to the upgradeability of system RAM. Even when it can be upgraded, the cost of upgrading tens of thousands of desktop computers can be staggering. Similar problems exist for local hard disk storage upgrades. When the system can no longer be upgraded, it must be replaced. The introduction of newer versions of software applications and operating systems sometimes requires the use of hardware specifications that are no longer met be existing desktop systems. This requires the replacement of tens of thousands of desktop computers, sometimes as often as every three years.
Another disadvantage of such systems is the lack of compatibility of applications and data on individual systems. Some users may have more recent versions of software applications that are not backwards compatible with older versions of the software. The solution to this problem is to maintain consistent software on all systems. However, the cost to upgrade each system and to provide licensed copies of software and software upgrades can be substantial. In addition, the installation of software and the maintenance of software requires a large administrative effort. Even with remote system administration capabilities, the tracking and cataloguing of software resources is burdensome. In addition to company mandated software, users typically add unauthorized software to their systems, including entertainment software, software optimizers, and even productivity tools that may negatively interfere with the overall network operation. Even more dangerous is the introduction of computer viruses onto a company network by the installation of an unauthorized application by a user.
Recently, the rise of the internet has resulted in the proposed use of so-called “network computers”. A network computer is a stripped down version of a personal computer with less storage space, less memory, and often less computational power. The idea is that network computers will access data through the internet, and only those applications that are needed for a particular task will be provided to the network computer. When the applications are no longer being used, they are not stored on the network computer. There has been some criticism of such systems as lacking the power of a full desktop system, yet not being inexpensive enough to justify the reduced capability. And even though the network computer is a subset of a desktop computer, the network computer may still require upgrades of hardware and software to maintain adequate performance levels.
A system is needed that provides the performance and greater cost benefits than desktop systems, combined with the administrative ease of mainframe systems, with reduced obsolescence of hardware.